查看原文
科技

魔法打败魔法,Andrej Karpathy大神一小时大模型入门课程速学

苏勇 开放传神 2023-11-27
      


大神又来新课程了,Andrej Karpathy是OpenAI创始成员之一,同时也是前Tesla的AI技术总监,虽然只有37岁,确实履历丰富背景强悍。2023年7月从Tesla离职后,开始在Youtube上发布一系列AI相关课程视频。




这次11月23日发布的视频标题为“[1hr Talk] Intro to Large Language Models”长达一个小时,从基础讲解了大模型的原理和相关应用,属于入门最佳读物了,但是视频很长,且都是纯英文内容,阅读学习的门槛是比较高的。


作为AGI时代的我们,当然要用魔法打败魔法 。这里我们就介绍一个非常简单的工作流,看看如何让AI大模型帮我们总结整理视频内容。



02

▐ 整体流程


1. 下载视频并提取音频内容,我们可以用y2mate或很多YTB下载工具下载视频的音频部分


2. 使用whisper将音频内容转为文字稿



如上图,我们使用的是whisper-large-v3对语音内容进行识别提取



开始识别了,会实时显示识别内容,最终会保存为一个txt文件




识别完成,在我的苹果笔记本(M1 Max CPU)上话费了约12多分钟(779655ms)完成。


接下来就得让大模型帮我们总结并转成中文啦,这里因为内容很长,我们选择使用Claude2-200K这个模型来帮我们总结。


3.使用Claude2-200K将文字稿提取总结为中文汇总内容,方便我们快速了解学习



使用非常简单的一句prompt:

“逐段总结文章内容,每段不少于500字,不要发散要严谨,中文返回。”

不到几秒钟,Claude就帮我们总结整理好了,看起来还不错!





02

▐ Claude2-200K内容摘要



以下就是Claude2-200K总结的内容摘要(以下内容为Claude原文输出,未经过校对)


 

第一段

 


本文开篇就直接明确指出,大语言模型的本质就是两个文件:参数文件和运行代码文件。为了具体解释,文章特别举出了一个案例:LAMA2-70B模型。这是一个由Meta公司开发的大规模预训练语言模型,包含了700亿个参数,属于LAMA模型系列的第二代产品。LAMA系列中还有其他规模模型,但70B的参数量最大,因此被许多研究者关注。文章提到LAMA2-70B的另一个特点是完全开源,不仅公开了模型参数,还公开了具体的神经网络架构和实现细节,这使得任何人都可以非常容易地使用和二次开发这个模型,这是很多其他主流商业化语言模型所不具备的。关于参数文件,文中明确指出其大小为140GB,采用float16浮点格式存储参数,以节省空间。除此之外,还需要一段运行代码,才能真正加载参数并运行模型。文中估计这部分代码只需要500行C语言,不需要任何其他依赖就可以实现神经网络的框架结构,并执行参数文件的推理运算。因此,LAMA2-70B模型就由这两个文件构成:140GB的参数文件和500行C语言运行代码。拥有这两个文件,就可以在任何设备上部署这个完整的70B超大模型,实现与之交互,如输入文本并生成响应。所以这两个文件包含了这个庞大语言模型的一切必要部分。


 

第二段

 


在阐明大语言模型的组成文件后,文章重点解释了获得这些文件(尤其是140GB参数文件)的过程及其复杂性。文中明确指出,相比模型推理阶段来说,获取参数的训练阶段计算复杂度远远更高。要训练一个LAMA2 70B这样规模的模型,需要准备一个包含约6000块GPU的集群,处理规模约为10TB的互联网文本数据,持续大规模训练12天时间,耗费成本大约200万美元。这个过程类似于将大量文本“压缩”为参数文件的过程。最后生成的140GB参数,相当于是一个“损失压缩”的结果,并不能完全重构原始训练文本,但捕捉了其统计分布的特征。相反,拥有参数文件后,运行模型进行推理的计算复杂度很低,只需要一台MacBook laptop就足以完成。


 

第三段

 


在说明了大语言模型的组成文件和获取过程后,文章进一步剖析了这种模型的内部工作机制。指出语言模型实际上是一个“下一个单词预测”的神经网络。简单来说,就是输入一组单词序列,这些词会进入模型的神经网络中,根据参数映射和神经元计算,给出对下一个出现单词的预测。这看似很简单的一个目标函数,却是非常强大的。因为为了提高预测准确性,模型中的百亿量级参数被迫学习大量关于词汇含义和世界知识的信息。因此,训练好的语言模型生成的文本,可以看作是对训练数据分布的“梦境”或“想象”,既表现出对某些知识的准确记忆,也会出现不真实的“幻觉”。但我们很难判断这些内容中什么是真实存在的,什么是模型自己虚构的。


 

第四段

 


接下来,文章讲解了从预训练语言模型获得“助手”模型的两个关键训练阶段。首先是预训练阶段,利用大量互联网数据训练语言模型,模型在这个阶段主要获取知识。然后是微调阶段,这时候使用少量但高质量的问答对话数据,改变模型的行为方式,输出回答问题的文本,而不是文档。在这个阶段模型获得行为的准确性。很神奇的是,微调之后的语言模型似乎能利用预训练获取到的知识,同时改变格式生成类似真人的问答语调。这是一个迄今不完全解释清楚的过程。所以从大语言模型获得“助手”系统,依赖这两个关键训练阶段。


 

第五段

 


在揭示获取过程后,文章分析了当前语言模型的思维水平。指出它们目前仅仅具备“System 1”类型的思维,即快速本能反应,无法进行复杂的、深思熟虑推理。这与人类大脑中同时存在的“System 2”思维形成对比,我们可以思考、建立多个想法并构建树形推理。未来语言模型能够获得这样更高阶的思维能力,是所有研究者都非常感兴趣的方向。但是其面临的主要挑战在于,语言空间的开放性决定了很难定义一个通用的、快速计算的模型奖励函数。这与围棋等局限环境中建立奖励函数的情况不同。


 

第六段

 


在思维分析之后,文章指出不应将语言模型简单视为聊天机器人或文本生成器。更准确的视角是把它们看成一个协调各种计算资源(内存、工具等)解决问题的操作系统核心过程。现在语言模型已经可以处理图像、视频、音频等多种模式信息,并表现出类似计算机的存储层次结构。未来还可能实现多线程、规范执行等功能。这些都使得语言模型类似一个操纵多种工具进行复杂问题求解的操作系统,而不只是单纯的词序列生成器。


 

第七段

 


目前业界存在专有商业语言模型和开源语言模型两个生态。专有模型效果最优,但不对外开放。而开源模型效果略逊一筹,但更加开放,可以自由调试、二次开发等。未来可能在狭义的特定任务上进行语言模型的自定义,为其提供符合目标的训练数据、知识源等,使其成为专攻该任务的专家模型。


 

第八段

 


最后,文章对语言模型的未来发展空间进行展望。认为它们可能发展出更类似人类的“System 2”思维,实现在狭义任务上的自我效果改进,并支持各种专家模型的定制化。最终构成一个全新的、以语言模型为核心的推理与问题求解操作系统。这与当前计算机系统存在诸多类比,为未来的语言模型系统建构提供了重要参考。


是不是非常的方便,我们后续会将此流程集成到我们的OpenCSG在线服务中,并将模型替换为国产大语言模型,敬请期待吧。



“      关于OpenCSG

开放传神(OpenCSG)成立于2023年,是一家致力于大模型生态社区建设,汇集人工智能行业上下游企业链共同为大模型在垂直行业的应用提供解决方案和工具平台的公司。OpenCSG的‘传神’开放社区基于自主研发的算力算法平台和应用开发工具平台,为用户提供一站式的大模型应用构建服务,帮助用户高效且低成本地创建个性化的大模型应用。公司成功实现了在金融、政务、制造业等领域的项目落地,并积极与生态合作伙伴共同探索在医疗、工业、媒体等更多领域的落地应用。目前OpenCSG已完成由国信中数、联想创投数千万元的天使轮融资。


OpenCSG官网网站

  https://opencsg.com


加入传神社区

网址:https://portal.opencsg.com/


往期回顾


参考资料:

https://www.youtube.com/watch?v=zjkBMFhNj_g&ab_channel=AndrejKarpathy

https://github.com/ggerganov/whisper.cpp

https://claude.ai/


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存